Skip to content

Fix IO FAT selected-IED context, grid layout, and evidence safety - #126

Merged
masarray merged 54 commits into
mainfrom
fix/io-fat-context-layout-evidence
Aug 1, 2026
Merged

Fix IO FAT selected-IED context, grid layout, and evidence safety#126
masarray merged 54 commits into
mainfrom
fix/io-fat-context-layout-evidence

Conversation

@masarray

Copy link
Copy Markdown
Owner

Ringkasan

Perbaikan workspace IO List FAT berdasarkan audit layout multi-IED:

  • Menampilkan badge ✔ PASS pada card IED ketika seluruh test point aktif sudah PASS.
  • Menyeimbangkan lebar kolom awal, mencegah kolom SIGNAL/IEC REFERENCE membesar berlebihan, serta membuat header ON/OFF relay time rata tengah.
  • Menghapus badge status global COMPLETED yang ambigu dari toolbar workspace.
  • Membuat tombol Connect/Pause/Resume/Stop, footer, progress, dan evidence count mengikuti IED yang sedang dipilih di IED Explorer.
  • Memindahkan toggle Print Preview / Signals View ke toolbar workspace IED.
  • Melindungi evidence yang sudah selesai: Connect biasa hanya memulai row yang belum selesai; row PASS/REVIEW/FAIL yang sudah punya evidence tidak di-reset. Full retest seluruh row harus dikonfirmasi secara eksplisit.

Safety behavior

  • Mixed progress: completed rows dipertahankan, pending rows dilanjutkan.
  • All rows complete: klik Connect membuka konfirmasi retest dan default-nya No.
  • Gagal start: status TestEnabled yang sementara diubah selalu dikembalikan melalui finally.

Validation

Regression contract tests ditambahkan untuk selected-IED context, lokasi preview toggle, balanced grid widths, centered relay headers, PASS card badge, dan evidence protection flow.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 3f27b25254

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment on lines +203 to +206
var preparation = await engineeringWindow.PrepareIoTestIedForFatAsync(
Project,
selectedIed,
progress);

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Exclude completed rows before connection preparation

When a mixed IED contains a completed signal that is no longer available in the live model, this preparation call still includes it because completed points remain enabled until immediately before Session.Start. PrepareIoTestIedForFatAsync snapshots every enabled point (MainWindow.IoTesting.AutoConnect.cs:24-26) and fails unless all requested points become live (MainWindow.IoTesting.AutoConnect.cs:203-213), so the method returns before pending, otherwise-valid rows can resume. Apply the protected-row scope during preflight and preparation as well as during Session.Start.

Useful? React with 👍 / 👎.

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Addressed in fa5bcfab with regression coverage in 84139315. Completed evidence rows are now disabled before preflight, remain excluded through PrepareIoTestIedForFatAsync and Session.Start, and are restored only in the outer finally. This allows mixed-progress continuation even when a completed legacy row is no longer present in the live model.

masarray added 26 commits July 30, 2026 10:10
masarray added 25 commits July 30, 2026 17:05
@masarray
masarray merged commit 0e13cbf into main Aug 1, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant